package xyz.mumuwei.youthcourseserver.service;

import com.alibaba.fastjson.JSONObject;
import xyz.mumuwei.youthcourseserver.common.dto.WechatMessageDto;
import xyz.mumuwei.youthcourseserver.common.lang.Result;

/**
 * @author mumuwei
 * @date 2022/4/5
 */
public interface WechatService {

    /**
     * 微信登录
     * @param code 用户登录凭证
     * @return 返回登录 token
     */
    Result login(String code);

    /**
     * 绑定微信
     * @param code 用户登录凭证
     * @param uid 用户id
     * @return 绑定状态
     * @throws Exception 请求异常
     */
    Result bandWechat(String code, Integer uid) throws Exception;

    /**
     * 微信发送订阅消息
     * @param wechatMessageDto 订阅消息参数 openid 模板id data
     * @return 发送结果 errcode: 0, errmsg: ok 发送成功
     */
    JSONObject subscribeMessageSend(WechatMessageDto wechatMessageDto);
}
